#ifndef ABSTRACTPANELCONTAINERFACTORY_H
#define ABSTRACTPANELCONTAINERFACTORY_H

#include <pluginui/pluginui_global.h>
#include <pluginui/manager/AbstractPanelContainer.h>

namespace antu
{
namespace plugin
{
namespace ui
{
class PLUGINUISHARED_EXPORT AbstractPanelContainerFactory
{
public:
    AbstractPanelContainerFactory();

    virtual AbstractPanelContainer* createContainer(const QString& name,
                                                    const QString& title,
                                                    Qt::DockWidgetArea area = Qt::NoDockWidgetArea,
                                                    Qt::DockWidgetAreas allowedAreas = Qt::LeftDockWidgetArea |
                                                                                       Qt::RightDockWidgetArea |
                                                                                       Qt::BottomDockWidgetArea,
                                                    QDockWidget::DockWidgetFeatures features = QDockWidget::DockWidgetClosable |
                                                                                               QDockWidget::DockWidgetFloatable |
                                                                                               QDockWidget::DockWidgetMovable) = 0;
};
}
}
}

#endif // ABSTRACTPANELCONTAINERFACTORY_H
